package com.piggy.logi.sys.vo;

import com.piggy.common.core.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 项目管理视图对象 logi_project
 *
 * @author piggy
 * @date 2023-08-18
 */
@Data
@Accessors(chain = true)
@ApiModel("项目管理视图对象")
public class LogiProjectVo {

	private static final long serialVersionUID = 1L;

	/** 主键 */
	@Excel(name = "主键")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	@ApiModelProperty("主键")
	private Long id;

	/** 项目名称 */
	@Excel(name = "项目名称")
	@ApiModelProperty("项目名称")
	private String projectName;

	/** 客户ID */
	@Excel(name = "客户ID")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	@ApiModelProperty("客户ID")
	private Long customerId;

	/** 部门Id */
	@Excel(name = "部门Id")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	@ApiModelProperty("部门Id")
	private Long deptId;

	/** 负责人 */
	@Excel(name = "负责人")
	@ApiModelProperty("负责人")
	private String leader;

	/** 联系电话 */
	@Excel(name = "联系电话")
	@ApiModelProperty("联系电话")
	private String phone;

	/** 地区id */
	@Excel(name = "地区id")
	@ApiModelProperty("地区id")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	private Integer districtId;

	/** 地址 */
	@Excel(name = "地址")
	@ApiModelProperty("地址")
	private String address;

	/** 开始日期 */
	@Excel(name = "开始日期" , width = 30, dateFormat = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty("开始日期")
	private Date beginDate;

	/** 结束日期 */
	@Excel(name = "结束日期" , width = 30, dateFormat = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty("结束日期")
	private Date endDate;

	/** 结算类型 */
	@Excel(name = "结算类型")
	@ApiModelProperty("结算类型")
	private String settleType;

	/** 附加信息 */
	@Excel(name = "附加信息")
	@ApiModelProperty("附加信息")
	private String attachInfo;

	/** 现付 */
	@Excel(name = "现付")
	@ApiModelProperty("现付")
	private BigDecimal spotPay;

	/** 删除标志（0代表存在 2代表删除） */
	@Excel(name = "删除标志" , readConverterExp = "0=代表存在,2=代表删除")
	@ApiModelProperty("删除标志（0代表存在 2代表删除）")
	private String delFlag;

	/** 到付 */
	@Excel(name = "到付")
	@ApiModelProperty("到付")
	private BigDecimal freightPay;

	/** 创建者 */
	@Excel(name = "创建者")
	@ApiModelProperty("创建者")
	private String createBy;

	/** 欠付 */
	@Excel(name = "欠付")
	@ApiModelProperty("欠付")
	private BigDecimal arrearsPay;

	/** 创建时间 */
	@Excel(name = "创建时间" , width = 30, dateFormat = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty("创建时间")
	private Date createTime;

	/** 回单付 */
	@Excel(name = "回单付")
	@ApiModelProperty("回单付")
	private BigDecimal receiptPay;

	/** 更新者 */
	@Excel(name = "更新者")
	@ApiModelProperty("更新者")
	private String updateBy;

	/** 月结金额 */
	@Excel(name = "月结金额")
	@ApiModelProperty("月结金额")
	private BigDecimal monthlyBalance;

	/** 更新时间 */
	@Excel(name = "更新时间" , width = 30, dateFormat = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty("更新时间")
	private Date updateTime;

	/** 月结天数 */
	@Excel(name = "月结天数")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	@ApiModelProperty("月结天数")
	private Long monthlyDays;

	/** 附加信息 */
	@ApiModelProperty("备注")
	protected String remark;

}
